#include "stdafx.h"
#include "CastGen.h"
#include "utility.h"
#include "AstType.h"

CastGen::CastGen(AstType * t, CodeGen * v) {
	type = t;
	value = v;
}

llvm::Value * CastGen::generateCode(llvm::Module * m, llvm::Function * func, llvm::IRBuilder<>&builder)
{
	llvm::Type *t=type->llvmType(builder.getContext());
	auto *v = value->generateCode(m, func, builder);
	return try_cast(builder, t, v);
}
